home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / LineLet / LineLet.jar / LineCanvas.class (.txt) next >
Encoding:
Java Class File  |  2001-03-30  |  2.1 KB  |  100 lines

  1. import java.util.Date;
  2. import java.util.Random;
  3. import javax.microedition.lcdui.Canvas;
  4. import javax.microedition.lcdui.Display;
  5. import javax.microedition.lcdui.Graphics;
  6. import javax.microedition.midlet.MIDlet;
  7.  
  8. public class LineCanvas extends Canvas implements Runnable {
  9.    MIDlet midlet;
  10.    int width;
  11.    int height;
  12.    static final int MAXLINES = 25;
  13.    // $FF: renamed from: x1 int[]
  14.    int[] field_0 = new int[25];
  15.    // $FF: renamed from: y1 int[]
  16.    int[] field_1 = new int[25];
  17.    // $FF: renamed from: x2 int[]
  18.    int[] field_2 = new int[25];
  19.    // $FF: renamed from: y2 int[]
  20.    int[] field_3 = new int[25];
  21.    int x1inc;
  22.    int x2inc;
  23.    int y1inc;
  24.    int y2inc;
  25.    Date myDate = new Date();
  26.    Random rand = new Random();
  27.  
  28.    public LineCanvas(MIDlet var1) {
  29.       this.midlet = var1;
  30.    }
  31.  
  32.    public void startProcess() {
  33.       this.width = ((Canvas)this).getWidth();
  34.       this.height = ((Canvas)this).getHeight();
  35.       this.rand.setSeed(this.myDate.getTime());
  36.  
  37.       for(int var1 = 0; var1 < 25; ++var1) {
  38.          this.field_0[var1] = 0;
  39.          this.field_1[var1] = 0;
  40.          this.field_2[var1] = 0;
  41.          this.field_3[var1] = 0;
  42.       }
  43.  
  44.       this.field_0[24] = Math.abs(this.rand.nextInt()) % this.width;
  45.       this.field_2[24] = Math.abs(this.rand.nextInt()) % this.width;
  46.       this.field_1[24] = Math.abs(this.rand.nextInt()) % this.height;
  47.       this.field_3[24] = Math.abs(this.rand.nextInt()) % this.height;
  48.       this.x1inc = 2;
  49.       this.x2inc = 2;
  50.       this.y1inc = 2;
  51.       this.y2inc = 2;
  52.       ((Canvas)this).repaint();
  53.       Display.getDisplay(this.midlet).callSerially(this);
  54.    }
  55.  
  56.    public void paint(Graphics var1) {
  57.       var1.setColor(16777215);
  58.       var1.drawLine(this.field_0[0], this.field_1[0], this.field_2[0], this.field_3[0]);
  59.       var1.setColor(0);
  60.       var1.drawLine(this.field_0[24], this.field_1[24], this.field_2[24], this.field_3[24]);
  61.  
  62.       for(int var2 = 0; var2 < 24; ++var2) {
  63.          this.field_0[var2] = this.field_0[var2 + 1];
  64.          this.field_2[var2] = this.field_2[var2 + 1];
  65.          this.field_1[var2] = this.field_1[var2 + 1];
  66.          this.field_3[var2] = this.field_3[var2 + 1];
  67.       }
  68.  
  69.       if (this.field_0[24] + this.x1inc <= 0 || this.field_0[24] + this.x1inc >= this.width - 1) {
  70.          this.x1inc *= -1;
  71.       }
  72.  
  73.       if (this.field_2[24] + this.x2inc <= 0 || this.field_2[24] + this.x2inc >= this.width - 1) {
  74.          this.x2inc *= -1;
  75.       }
  76.  
  77.       if (this.field_1[24] + this.y1inc <= 0 || this.field_1[24] + this.y1inc >= this.height - 1) {
  78.          this.y1inc *= -1;
  79.       }
  80.  
  81.       if (this.field_3[24] + this.y2inc <= 0 || this.field_3[24] + this.y2inc >= this.width - 1) {
  82.          this.y2inc *= -1;
  83.       }
  84.  
  85.       int[] var10000 = this.field_0;
  86.       var10000[24] += this.x1inc;
  87.       var10000 = this.field_2;
  88.       var10000[24] += this.x2inc;
  89.       var10000 = this.field_1;
  90.       var10000[24] += this.y1inc;
  91.       var10000 = this.field_3;
  92.       var10000[24] += this.y2inc;
  93.    }
  94.  
  95.    public void run() {
  96.       ((Canvas)this).repaint();
  97.       Display.getDisplay(this.midlet).callSerially(this);
  98.    }
  99. }
  100.